package com.hu.bgp.client.gin;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
import com.hu.bgp.client.AppController;
import com.hu.bgp.client.EventBus;
import com.hu.bgp.client.place.URIconstants;
import com.hu.bgp.client.presenter.Boardgame;
import com.hu.bgp.client.presenter.GameSessions;
import com.hu.bgp.client.presenter.GameTypes;
import com.hu.bgp.client.rpc.BgpServiceAsync;


/**
 * @author mklijn
 * this class is the Gin framework's entry class for binding a specific gin module 
 * zeg maar een soort van factory
 */
@GinModules(BgpGinModule.class)
public interface BgpGinjector extends Ginjector
{
	// TODO add return types as the classes becomem avaiable
	
	BgpServiceAsync getBgpService();
	EventBus getEventBus();
	GameSessions getGameSessionsWidget();
	Boardgame getBoardGameWidget();
	GameTypes getGameTypeWidget();
	URIconstants getURIconstants();
	// void getChat();
	// void getScores();
}
